package cn.edu.scau.cmi.tangqingning.dao;

import java.util.List;

import cn.edu.scau.cmi.tangqingning.model.Group;
import cn.edu.scau.cmi.tangqingning.model.Student;
import cn.edu.scau.cmi.tangqingning.model.User;

/**
 * 数据库访问层-管理员的CRUD操作
 * 
 * @author 周华智
 *
 */
public interface UserDao {
	/**
	 * 登陆用户验证
	 * 
	 * @param user User
	 * @return flag,是否登录成功
	 */
	public boolean isLogin(User user);

	/**
	 * 修改管理员的密码
	 * 
	 * @param user User
	 * @return i,是否修改成功
	 */

	public int updateUserPassWord(User user);

	/**
	 * 查找指定的学生
	 *  
	 * @param stId String
	 * @return stu
	 */
	public Student findStudentById(String stId);

	/**
	 * 添加学生信息
	 * 
	 * @param student Student
	 * @return flag
	 */
	public boolean addStudent(Student student);

	/**
	 * 删除学生信息
	 * 
	 * @param id long
	 * @return flag
	 */
	public boolean delStudent(long id);

	/**
	 * 更新学生信息
	 * 
	 * @param student Student
	 * @return flag
	 */
	public boolean updateStudent(Student student);

	/**
	 * 查询全体学生信息
	 * 
	 * @return list
	 */
	@SuppressWarnings("unchecked")
	public List StSelect();

	/**
	 * 添加小组
	 * 
	 * @param group Group
	 * @return flag
	 */
	public boolean addProData(Group group);

	/**
	 * 查找指定的小组(更新页面操作使用)
	 * 
	 * @param groupNumber String
	 * @return Group
	 */
	public Group findGroupBygGroupNumber(String groupNumber);

	/**
	 * 更新小组信息
	 * 
	 * @param group Group
	 * @return flag
	 */
	boolean updateGroup(Group group);

	/**
	 * 删除小组
	 * 
	 * @param groupNumber int
	 * @return flag
	 */
	public boolean delGroup(int groupNumber);

}
